home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 49
/
Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso
/
-serious-
/
emulation
/
cp4_update
/
cp4.update
< prev
next >
Wrap
Text File
|
1999-11-30
|
9KB
|
253 lines
;:ts=4 $VER: cp4.update V0.73 (25.11.99) Copyright © by Gáti Gergely
(set #Vo 0)
(set #Ro 72)
(set #Vn 0)
(set #Rn 73)
(set #dif 12)
;-------------------------------------------------
;-------------------------------------------------
;-------------------------------------------------
;Variables
;-------------------------------------------------
(set #Oldver (cat #Vo"."#Ro))
(set #Ver (cat #Vn"."#Rn))
(set #safename (cat "old_"#Oldver))
(set #safepath "-")
(set #welc (cat "Update for " @app-name ",\n"
"from version " #Oldver " to version " #Ver ".\n"
"For new features, read the documentation."))
(set #whereprog (cat "Where is the previously installed " @app-name " ?"))
(set #helpwhereprog ("Please select the proper directory."))
(set #notgoodver1 (cat "This program is version "))
(set #notgoodver2 (cat " instead of version "))
(set #notgoodver3 (cat "."))
(set #patch1_1 (cat "\n\nUpdate "))
(set #patch1_2 (cat "\n from V"))
(set #patch1_3 (cat " to V"))
(set #patch1_4 (cat "..."))
(set #patch1_5 (cat " to the new one..."))
(set #ErrorMsg1_1 (cat "\nCannot apply patch for '"))
(set #ErrorMsg1_2 (cat "'\nto version "))
(set #ErrorMsg1_3 (cat ".\nMaybe corrupt patch file."))
(set #ErrorMsg1_4 (cat "'.\nMaybe corrupt patch file."))
;-------------------------------------------------
; Copy new file
;-------------------------------------------------
(procedure P_Copy #src #dest
(set #tocopy (tackon @default-dest #dest))
(set #dir (pathonly #tocopy))
(working (cat "Copying " #dest ". (new file)"))
(if (not (exists #dir)) (makedir #dir))
(copyfiles (source #src) (dest #dir) (optional force))
(set #cm (+ #cm #dif))
(complete (/ #cm 10))
)
;-------------------------------------------------
; Delete old file (move to safepath)
;-------------------------------------------------
(procedure P_Delete #file
(set #todel (tackon @default-dest #file)) ; full path of del
(set #dir (pathonly #file)) ; dir-only for del
(set #dat (fileonly #file)) ; file to del
(working (cat "Deleting " #dat ". (obsolote)"))
(if (<> "" #dir) (
(makedir (cat #safepath "/" #dir))
(rename #todel (cat #safepath "/" #dir "/" #dat))
)(
(rename #todel (cat #safepath "/" #dat))
))
(set #cm (+ #cm #dif))
(complete (/ #cm 10))
)
;-------------------------------------------------
; Test & create patch command - others
;-------------------------------------------------
(procedure P_Update #file
(set #dir (pathonly #file))
(set #dat (fileonly #file))
(set #odir #dir)
(if (<> #dir "") (
(set #dir (cat @default-dest "/" #dir))
)(
(set #dir @default-dest)
))
(set #dat2 (tackon #dir #dat))
(set #pdat (tackon #odir #dat))
(set #vernum1 (getversion #dat2))
(set #ver1 (/ #vernum1 65536))
(set #rev1 (- #vernum1 (* #ver1 65536) ) )
(set #dat3 (cat #dat2"_V" #ver1 "." #rev1))
(if (exists #dat2 (noreq)) (
(working (cat #patch1_1 #dat #patch1_2 #ver1"."#rev1 #patch1_5))
(rename #dat2 #dat3)
(set #patch (run (cat "gpatch \""#dat3"\" \""#pchfile"\" \""#dat2"\"")))
(if (> #patch 0) (
(rename #dat3 #dat2)
(abort (cat #ErrorMsg1_1 #dat #ErrorMsg1_4))
)(
(if (<> "" #odir) (
(makedir (cat #safepath "/" #odir))
(rename #dat3 (cat #safepath "/" #odir "/" #dat))
)(
(rename #dat3 (cat #safepath "/" #dat))
))
))
))
(set #cm (+ #cm #dif))
(complete (/ #cm 10))
)
;-------------------------------------------------
;Error handling (restore old files)
;-------------------------------------------------
(onerror (
(if (<> "-" #safepath) (
(message "Some error occured while creating new files\nI try to restore the old state." (all))
(copyfiles (source #safepath) (dest @default-dest) (all) (optional force))
(delete #safepath (all))
))
))
;-------------------------------------------------
;Start point
;-------------------------------------------------
(complete 0)
(welcome #welc)
;-------------------------------------------------
;Overwrite?
;-------------------------------------------------
(if (= @user-level 2) (
(set #overwrite (askchoice (prompt "Choose a patch method!") (help "If you want to keep the old files,\nchoose the 'keep old files' choice.") (choices "Overwrite old files" "Keep old files")))
)(
(set #overwrite 0)
))
(complete 4)
;-------------------------------------------------
;Seek old prog
;-------------------------------------------------
(set #defdest (askdir (prompt #whereprog) (help #helpwhereprog) (default "")))
(set @default-dest #defdest)
(complete 8)
;-------------------------------------------------
;Last minute question...
;-------------------------------------------------
(message (cat "Update of "@app-name" from\nV"#Oldver" to V"#Ver" will be started..."))
(complete 12)
;-------------------------------------------------
;Create safe directory
;-------------------------------------------------
(working "Creating archive directory...")
(set #safepath (cat #defdest "/" #safename))
(makedir #safepath)
(complete 16)
;-------------------------------------------------
;Update application
;-------------------------------------------------
(set #cm 180)
(set #pchfile (cat @app-name ".gpch"))
(P_Delete 'c2p/cardgrey.c2p')
(P_Delete 'c2p/grey.c2p')
(P_Delete 'c2p/grey2.c2p')
(P_Delete 'c2p/zavacki2.c2p')
(P_Delete 'c2p_src/c2p_card_palette.c')
(P_Delete 'c2p_src/c2p_windowamiga_palette.c')
(P_Delete 'c2p_src/c2p_windowcard_palette.c')
(P_Delete 'c2p_src/c2p_windowscale_palette.c')
(P_Delete 'Catalogs/magyar/cp4_cardgreyscale.catalog')
(P_Delete 'Catalogs/magyar/cp4_greyscale.catalog')
(P_Delete 'Catalogs/magyar/cp4_greyscale2.catalog')
(P_Delete 'Catalogs/magyar/cp4_zavacki2.catalog')
(P_Delete 'Localize/Description/cp4_cardgreyscale.cd')
(P_Delete 'Localize/Description/cp4_greyscale.cd')
(P_Delete 'Localize/Description/cp4_greyscale2.cd')
(P_Delete 'Localize/Description/cp4_zavacki2.cd')
(P_Delete 'Localize/Template/cp4_cardgreyscale.ct')
(P_Delete 'Localize/Template/cp4_greyscale.ct')
(P_Delete 'Localize/Template/cp4_greyscale2.ct')
(P_Delete 'Localize/Template/cp4_zavacki2.ct')
(P_Delete 'Localize/Translations/magyar/cp4_cardgreyscale.ct')
(P_Delete 'Localize/Translations/magyar/cp4_greyscale.ct')
(P_Delete 'Localize/Translations/magyar/cp4_greyscale2.ct')
(P_Delete 'Localize/Translations/magyar/cp4_zavacki2.ct')
(P_Update 'c2p/card.c2p')
(P_Update 'c2p/carddelta.c2p')
(P_Update 'c2p/ehb.c2p')
(P_Update 'c2p/grey16.c2p')
(P_Update 'c2p/interlace.c2p')
(P_Update 'c2p/mono.c2p')
(P_Update 'c2p/ocs.c2p')
(P_Update 'c2p/perdevpernull.c2p')
(P_Update 'c2p/windowamiga.c2p')
(P_Update 'c2p/windowcard.c2p')
(P_Update 'c2p/windowcarddelta.c2p')
(P_Update 'c2p/windowmono.c2p')
(P_Update 'c2p/windowscale.c2p')
(P_Update 'c2p/zavacki.c2p')
(P_Update 'c2p_src/c2p_card.c')
(P_Update 'c2p_src/c2p_module.c')
(P_Update 'c2p_src/c2p_module.h')
(P_Update 'c2p_src/c2p_windowamiga.c')
(P_Update 'c2p_src/c2p_windowcard.c')
(P_Update 'c2p_src/c2p_windowscale.c')
(P_Update 'c2p_src/cp4_ver.h')
(P_Update 'Catalogs/magyar/cp4.catalog')
(P_Update 'Catalogs/magyar/cp4_card.catalog')
(P_Update 'cp4')
(P_Update 'cp4.readme')
(P_Update 'Docs/cp4_EN.guide')
(P_Update 'Docs/cp4_HU.guide')
(P_Update 'Localize/Description/cp4.cd')
(P_Update 'Localize/Description/cp4_card.cd')
(P_Update 'Localize/MakeCatalog')
(P_Update 'Localize/Template/cp4.ct')
(P_Update 'Localize/Template/cp4_card.ct')
(P_Update 'Localize/Translations/magyar/cp4.ct')
(P_Update 'Localize/Translations/magyar/cp4_card.ct')
(P_Copy 'copy/c2p_src/c2p_palette.c' 'c2p_src/c2p_palette.c')
(P_Copy 'copy/Palettes/Digitized.palette' 'Palettes/Digitized.palette')
(P_Copy 'copy/Palettes/DigitizedGrey.palette' 'Palettes/DigitizedGrey.palette')
(P_Copy 'copy/Palettes/Flamingo.palette' 'Palettes/Flamingo.palette')
(P_Copy 'copy/Palettes/FlamingoGrey.palette' 'Palettes/FlamingoGrey.palette')
(P_Copy 'copy/Palettes/Minus4.palette' 'Palettes/Minus4.palette')
(P_Copy 'copy/Palettes/Minus4Grey.palette' 'Palettes/Minus4Grey.palette')
;-------------------------------------------------
;Delete old if needed
;-------------------------------------------------
(if (= 0 #overwrite) (
(delete #safepath (all))
))
(complete 98)
;-------------------------------------------------
;Show readme
;-------------------------------------------------
(set #mv "SYS:Utilities/MultiView")
(if (exists "C:MultiView") ((set #mv "C:MultiView")))
(run (cat #mv " " @app-name ".readme"))
;-------------------------------------------------
;The End
;-------------------------------------------------
(complete 100)
(exit)